//-------------------------------------------------------------------------------------------------------
// Copyright (C) Microsoft. All rights reserved.
// Licensed under the MIT license. See LICENSE.txt file in the project root for full license information.
//-------------------------------------------------------------------------------------------------------

function write(v) { WScript.Echo(v + ""); }

function foo() {}

write(+0.0 % '');
write(+0.0 % 0xa);
write(+0.0 % 04);
write(+0.0 % 'hello');
write(+0.0 % 'hel' + 'lo');
write(+0.0 % String(''));
write(+0.0 % String('hello'));
write(+0.0 % String('h' + 'ello'));
write(+0.0 % new String(''));
write(+0.0 % new String('hello'));
write(+0.0 % new String('he' + 'llo'));
write(+0.0 % new Object());
write(+0.0 % new Object());
write(+0.0 % [1, 2, 3]);
write(+0.0 % [1 ,2 , 3]);
write(+0.0 % new Array(3));
write(+0.0 % Array(3));
write(+0.0 % new Array(1 ,2 ,3));
write(+0.0 % Array(1));
write(+0.0 % foo);
write(1 % undefined);
write(1 % null);
write(1 % true);
write(1 % false);
write(1 % Boolean(true));
write(1 % Boolean(false));
write(1 % new Boolean(true));
write(1 % new Boolean(false));
write(1 % NaN);
write(1 % +0);
write(1 % -0);
write(1 % 0);
write(1 % 0.0);
write(1 % -0.0);
write(1 % +0.0);
write(1 % 1);
write(1 % 10);
write(1 % 10.0);
write(1 % 10.1);
write(1 % -1);
write(1 % -10);
write(1 % -10.0);
write(1 % -10.1);
write(1 % Number.MAX_VALUE);
write(1 % Number.MIN_VALUE);
write(1 % Number.NaN);
write(1 % Number.POSITIVE_INFINITY);
write(1 % Number.NEGATIVE_INFINITY);
write(1 % new Number(NaN));
write(1 % new Number(+0));
write(1 % new Number(-0));
write(1 % new Number(0));
write(1 % new Number(0.0));
write(1 % new Number(-0.0));
write(1 % new Number(+0.0));
write(1 % new Number(1));
write(1 % new Number(10));
write(1 % new Number(10.0));
write(1 % new Number(10.1));
write(1 % new Number(-1));
write(1 % new Number(-10));
write(1 % new Number(-10.0));
write(1 % new Number(-10.1));
write(1 % new Number(Number.MAX_VALUE));
write(1 % new Number(Number.MIN_VALUE));
write(1 % new Number(Number.NaN));
write(1 % new Number(Number.POSITIVE_INFINITY));
write(1 % new Number(Number.NEGATIVE_INFINITY));
write(1 % '');
write(1 % 0xa);
write(1 % 04);
write(1 % 'hello');
write(1 % 'hel' + 'lo');
write(1 % String(''));
write(1 % String('hello'));
write(1 % String('h' + 'ello'));
write(1 % new String(''));
write(1 % new String('hello'));
write(1 % new String('he' + 'llo'));
write(1 % new Object());
write(1 % new Object());
write(1 % [1, 2, 3]);
write(1 % [1 ,2 , 3]);
write(1 % new Array(3));
write(1 % Array(3));
write(1 % new Array(1 ,2 ,3));
write(1 % Array(1));
write(1 % foo);
write(10 % undefined);
write(10 % null);
write(10 % true);
write(10 % false);
write(10 % Boolean(true));
write(10 % Boolean(false));
write(10 % new Boolean(true));
write(10 % new Boolean(false));
write(10 % NaN);
write(10 % +0);
write(10 % -0);
write(10 % 0);
write(10 % 0.0);
write(10 % -0.0);
write(10 % +0.0);
write(10 % 1);
write(10 % 10);
write(10 % 10.0);
write(10 % 10.1);
write(10 % -1);
write(10 % -10);
write(10 % -10.0);
write(10 % -10.1);
write(10 % Number.MAX_VALUE);
write(10 % Number.MIN_VALUE);
write(10 % Number.NaN);
write(10 % Number.POSITIVE_INFINITY);
write(10 % Number.NEGATIVE_INFINITY);
write(10 % new Number(NaN));
write(10 % new Number(+0));
write(10 % new Number(-0));
write(10 % new Number(0));
write(10 % new Number(0.0));
write(10 % new Number(-0.0));
write(10 % new Number(+0.0));
write(10 % new Number(1));
write(10 % new Number(10));
write(10 % new Number(10.0));
write(10 % new Number(10.1));
write(10 % new Number(-1));
write(10 % new Number(-10));
write(10 % new Number(-10.0));
write(10 % new Number(-10.1));
write(10 % new Number(Number.MAX_VALUE));
write(10 % new Number(Number.MIN_VALUE));
write(10 % new Number(Number.NaN));
write(10 % new Number(Number.POSITIVE_INFINITY));
write(10 % new Number(Number.NEGATIVE_INFINITY));
write(10 % '');
write(10 % 0xa);
write(10 % 04);
write(10 % 'hello');
write(10 % 'hel' + 'lo');
write(10 % String(''));
write(10 % String('hello'));
write(10 % String('h' + 'ello'));
write(10 % new String(''));
write(10 % new String('hello'));
write(10 % new String('he' + 'llo'));
write(10 % new Object());
write(10 % new Object());
write(10 % [1, 2, 3]);
write(10 % [1 ,2 , 3]);
write(10 % new Array(3));
write(10 % Array(3));
write(10 % new Array(1 ,2 ,3));
write(10 % Array(1));
write(10 % foo);
write(10.0 % undefined);
write(10.0 % null);
write(10.0 % true);
write(10.0 % false);
write(10.0 % Boolean(true));
write(10.0 % Boolean(false));
write(10.0 % new Boolean(true));
write(10.0 % new Boolean(false));
write(10.0 % NaN);
write(10.0 % +0);
write(10.0 % -0);
write(10.0 % 0);
write(10.0 % 0.0);
write(10.0 % -0.0);
write(10.0 % +0.0);
write(10.0 % 1);
write(10.0 % 10);
write(10.0 % 10.0);
write(10.0 % 10.1);
write(10.0 % -1);
write(10.0 % -10);
write(10.0 % -10.0);
write(10.0 % -10.1);
write(10.0 % Number.MAX_VALUE);
write(10.0 % Number.MIN_VALUE);
write(10.0 % Number.NaN);
write(10.0 % Number.POSITIVE_INFINITY);
write(10.0 % Number.NEGATIVE_INFINITY);
write(10.0 % new Number(NaN));
write(10.0 % new Number(+0));
write(10.0 % new Number(-0));
write(10.0 % new Number(0));
write(10.0 % new Number(0.0));
write(10.0 % new Number(-0.0));
write(10.0 % new Number(+0.0));
write(10.0 % new Number(1));
write(10.0 % new Number(10));
write(10.0 % new Number(10.0));
write(10.0 % new Number(10.1));
write(10.0 % new Number(-1));
write(10.0 % new Number(-10));
write(10.0 % new Number(-10.0));
write(10.0 % new Number(-10.1));
write(10.0 % new Number(Number.MAX_VALUE));
write(10.0 % new Number(Number.MIN_VALUE));
write(10.0 % new Number(Number.NaN));
write(10.0 % new Number(Number.POSITIVE_INFINITY));
write(10.0 % new Number(Number.NEGATIVE_INFINITY));
write(10.0 % '');
write(10.0 % 0xa);
write(10.0 % 04);
write(10.0 % 'hello');
write(10.0 % 'hel' + 'lo');
write(10.0 % String(''));
write(10.0 % String('hello'));
write(10.0 % String('h' + 'ello'));
write(10.0 % new String(''));
write(10.0 % new String('hello'));
write(10.0 % new String('he' + 'llo'));
write(10.0 % new Object());
write(10.0 % new Object());
write(10.0 % [1, 2, 3]);
write(10.0 % [1 ,2 , 3]);
write(10.0 % new Array(3));
write(10.0 % Array(3));
write(10.0 % new Array(1 ,2 ,3));
write(10.0 % Array(1));
write(10.0 % foo);
write(10.1 % undefined);
write(10.1 % null);
write(10.1 % true);
write(10.1 % false);
write(10.1 % Boolean(true));
write(10.1 % Boolean(false));
write(10.1 % new Boolean(true));
write(10.1 % new Boolean(false));
write(10.1 % NaN);
write(10.1 % +0);
write(10.1 % -0);
write(10.1 % 0);
write(10.1 % 0.0);
write(10.1 % -0.0);
write(10.1 % +0.0);
write(10.1 % 1);
write(10.1 % 10);
write(10.1 % 10.0);
write(10.1 % 10.1);
write(10.1 % -1);
write(10.1 % -10);
write(10.1 % -10.0);
write(10.1 % -10.1);
write(10.1 % Number.MAX_VALUE);
write(10.1 % Number.MIN_VALUE);
write(10.1 % Number.NaN);
write(10.1 % Number.POSITIVE_INFINITY);
write(10.1 % Number.NEGATIVE_INFINITY);
write(10.1 % new Number(NaN));
write(10.1 % new Number(+0));
write(10.1 % new Number(-0));
write(10.1 % new Number(0));
write(10.1 % new Number(0.0));
write(10.1 % new Number(-0.0));
write(10.1 % new Number(+0.0));
write(10.1 % new Number(1));
write(10.1 % new Number(10));
write(10.1 % new Number(10.0));
write(10.1 % new Number(10.1));
write(10.1 % new Number(-1));
write(10.1 % new Number(-10));
write(10.1 % new Number(-10.0));
write(10.1 % new Number(-10.1));
write(10.1 % new Number(Number.MAX_VALUE));
write(10.1 % new Number(Number.MIN_VALUE));
write(10.1 % new Number(Number.NaN));
write(10.1 % new Number(Number.POSITIVE_INFINITY));
write(10.1 % new Number(Number.NEGATIVE_INFINITY));
write(10.1 % '');
write(10.1 % 0xa);
write(10.1 % 04);
write(10.1 % 'hello');
write(10.1 % 'hel' + 'lo');
write(10.1 % String(''));
write(10.1 % String('hello'));
write(10.1 % String('h' + 'ello'));
write(10.1 % new String(''));
write(10.1 % new String('hello'));
write(10.1 % new String('he' + 'llo'));
write(10.1 % new Object());
write(10.1 % new Object());
write(10.1 % [1, 2, 3]);
write(10.1 % [1 ,2 , 3]);
write(10.1 % new Array(3));
write(10.1 % Array(3));
write(10.1 % new Array(1 ,2 ,3));
write(10.1 % Array(1));
write(10.1 % foo);
write(-1 % undefined);
write(-1 % null);
write(-1 % true);
write(-1 % false);
write(-1 % Boolean(true));
write(-1 % Boolean(false));
write(-1 % new Boolean(true));
write(-1 % new Boolean(false));
write(-1 % NaN);
write(-1 % +0);
write(-1 % -0);
write(-1 % 0);
write(-1 % 0.0);
write(-1 % -0.0);
write(-1 % +0.0);
write(-1 % 1);
write(-1 % 10);
write(-1 % 10.0);
write(-1 % 10.1);
write(-1 % -1);
write(-1 % -10);
write(-1 % -10.0);
write(-1 % -10.1);
write(-1 % Number.MAX_VALUE);
write(-1 % Number.MIN_VALUE);
write(-1 % Number.NaN);
write(-1 % Number.POSITIVE_INFINITY);
write(-1 % Number.NEGATIVE_INFINITY);
write(-1 % new Number(NaN));
write(-1 % new Number(+0));
write(-1 % new Number(-0));
write(-1 % new Number(0));
write(-1 % new Number(0.0));
write(-1 % new Number(-0.0));
write(-1 % new Number(+0.0));
write(-1 % new Number(1));
write(-1 % new Number(10));
write(-1 % new Number(10.0));
write(-1 % new Number(10.1));
write(-1 % new Number(-1));
write(-1 % new Number(-10));
write(-1 % new Number(-10.0));
write(-1 % new Number(-10.1));
write(-1 % new Number(Number.MAX_VALUE));
write(-1 % new Number(Number.MIN_VALUE));
write(-1 % new Number(Number.NaN));
write(-1 % new Number(Number.POSITIVE_INFINITY));
write(-1 % new Number(Number.NEGATIVE_INFINITY));
write(-1 % '');
write(-1 % 0xa);
write(-1 % 04);
write(-1 % 'hello');
write(-1 % 'hel' + 'lo');
write(-1 % String(''));
write(-1 % String('hello'));
write(-1 % String('h' + 'ello'));
write(-1 % new String(''));
write(-1 % new String('hello'));
write(-1 % new String('he' + 'llo'));
write(-1 % new Object());
write(-1 % new Object());
write(-1 % [1, 2, 3]);
write(-1 % [1 ,2 , 3]);
write(-1 % new Array(3));
write(-1 % Array(3));
write(-1 % new Array(1 ,2 ,3));
write(-1 % Array(1));
write(-1 % foo);
write(-10 % undefined);
write(-10 % null);
write(-10 % true);
write(-10 % false);
write(-10 % Boolean(true));
write(-10 % Boolean(false));
write(-10 % new Boolean(true));
write(-10 % new Boolean(false));
write(-10 % NaN);
write(-10 % +0);
write(-10 % -0);
write(-10 % 0);
write(-10 % 0.0);
write(-10 % -0.0);
write(-10 % +0.0);
write(-10 % 1);
write(-10 % 10);
write(-10 % 10.0);
write(-10 % 10.1);
write(-10 % -1);
write(-10 % -10);
write(-10 % -10.0);
write(-10 % -10.1);
write(-10 % Number.MAX_VALUE);
write(-10 % Number.MIN_VALUE);
write(-10 % Number.NaN);
write(-10 % Number.POSITIVE_INFINITY);
write(-10 % Number.NEGATIVE_INFINITY);
write(-10 % new Number(NaN));
write(-10 % new Number(+0));
write(-10 % new Number(-0));
write(-10 % new Number(0));
write(-10 % new Number(0.0));
write(-10 % new Number(-0.0));
write(-10 % new Number(+0.0));
write(-10 % new Number(1));
write(-10 % new Number(10));
write(-10 % new Number(10.0));
write(-10 % new Number(10.1));
write(-10 % new Number(-1));
write(-10 % new Number(-10));
write(-10 % new Number(-10.0));
write(-10 % new Number(-10.1));
write(-10 % new Number(Number.MAX_VALUE));
write(-10 % new Number(Number.MIN_VALUE));
write(-10 % new Number(Number.NaN));
write(-10 % new Number(Number.POSITIVE_INFINITY));
write(-10 % new Number(Number.NEGATIVE_INFINITY));
write(-10 % '');
write(-10 % 0xa);
write(-10 % 04);
write(-10 % 'hello');
write(-10 % 'hel' + 'lo');
write(-10 % String(''));
write(-10 % String('hello'));
write(-10 % String('h' + 'ello'));
write(-10 % new String(''));
write(-10 % new String('hello'));
write(-10 % new String('he' + 'llo'));
write(-10 % new Object());
write(-10 % new Object());
write(-10 % [1, 2, 3]);
write(-10 % [1 ,2 , 3]);
write(-10 % new Array(3));
write(-10 % Array(3));
write(-10 % new Array(1 ,2 ,3));
write(-10 % Array(1));
write(-10 % foo);
write(-10.0 % undefined);
write(-10.0 % null);
write(-10.0 % true);
write(-10.0 % false);
write(-10.0 % Boolean(true));
write(-10.0 % Boolean(false));
write(-10.0 % new Boolean(true));
write(-10.0 % new Boolean(false));
write(-10.0 % NaN);
write(-10.0 % +0);
write(-10.0 % -0);
write(-10.0 % 0);
write(-10.0 % 0.0);
write(-10.0 % -0.0);
write(-10.0 % +0.0);
write(-10.0 % 1);
write(-10.0 % 10);
write(-10.0 % 10.0);
write(-10.0 % 10.1);
write(-10.0 % -1);
write(-10.0 % -10);
write(-10.0 % -10.0);
write(-10.0 % -10.1);
write(-10.0 % Number.MAX_VALUE);
write(-10.0 % Number.MIN_VALUE);
write(-10.0 % Number.NaN);
write(-10.0 % Number.POSITIVE_INFINITY);
write(-10.0 % Number.NEGATIVE_INFINITY);
write(-10.0 % new Number(NaN));
write(-10.0 % new Number(+0));
write(-10.0 % new Number(-0));
write(-10.0 % new Number(0));
write(-10.0 % new Number(0.0));
write(-10.0 % new Number(-0.0));
write(-10.0 % new Number(+0.0));
write(-10.0 % new Number(1));
write(-10.0 % new Number(10));
write(-10.0 % new Number(10.0));
write(-10.0 % new Number(10.1));
write(-10.0 % new Number(-1));
write(-10.0 % new Number(-10));
write(-10.0 % new Number(-10.0));
write(-10.0 % new Number(-10.1));
write(-10.0 % new Number(Number.MAX_VALUE));
write(-10.0 % new Number(Number.MIN_VALUE));
write(-10.0 % new Number(Number.NaN));
write(-10.0 % new Number(Number.POSITIVE_INFINITY));
write(-10.0 % new Number(Number.NEGATIVE_INFINITY));
write(-10.0 % '');
write(-10.0 % 0xa);
write(-10.0 % 04);
write(-10.0 % 'hello');
write(-10.0 % 'hel' + 'lo');
write(-10.0 % String(''));
write(-10.0 % String('hello'));
write(-10.0 % String('h' + 'ello'));
write(-10.0 % new String(''));
write(-10.0 % new String('hello'));
write(-10.0 % new String('he' + 'llo'));
write(-10.0 % new Object());
write(-10.0 % new Object());
write(-10.0 % [1, 2, 3]);
write(-10.0 % [1 ,2 , 3]);
write(-10.0 % new Array(3));
write(-10.0 % Array(3));
write(-10.0 % new Array(1 ,2 ,3));
write(-10.0 % Array(1));
write(-10.0 % foo);
write(-10.1 % undefined);
write(-10.1 % null);
write(-10.1 % true);
write(-10.1 % false);
write(-10.1 % Boolean(true));
write(-10.1 % Boolean(false));
write(-10.1 % new Boolean(true));
write(-10.1 % new Boolean(false));
write(-10.1 % NaN);
write(-10.1 % +0);
write(-10.1 % -0);
write(-10.1 % 0);
write(-10.1 % 0.0);
write(-10.1 % -0.0);
write(-10.1 % +0.0);
write(-10.1 % 1);
write(-10.1 % 10);
write(-10.1 % 10.0);
write(-10.1 % 10.1);
write(-10.1 % -1);
write(-10.1 % -10);
write(-10.1 % -10.0);
write(-10.1 % -10.1);
write(-10.1 % Number.MAX_VALUE);
write(-10.1 % Number.MIN_VALUE);
write(-10.1 % Number.NaN);
write(-10.1 % Number.POSITIVE_INFINITY);
write(-10.1 % Number.NEGATIVE_INFINITY);
write(-10.1 % new Number(NaN));
write(-10.1 % new Number(+0));
write(-10.1 % new Number(-0));
write(-10.1 % new Number(0));
write(-10.1 % new Number(0.0));
write(-10.1 % new Number(-0.0));
write(-10.1 % new Number(+0.0));
write(-10.1 % new Number(1));
write(-10.1 % new Number(10));
write(-10.1 % new Number(10.0));
write(-10.1 % new Number(10.1));
write(-10.1 % new Number(-1));
write(-10.1 % new Number(-10));
write(-10.1 % new Number(-10.0));
write(-10.1 % new Number(-10.1));
write(-10.1 % new Number(Number.MAX_VALUE));
write(-10.1 % new Number(Number.MIN_VALUE));
write(-10.1 % new Number(Number.NaN));
write(-10.1 % new Number(Number.POSITIVE_INFINITY));
write(-10.1 % new Number(Number.NEGATIVE_INFINITY));
write(-10.1 % '');
write(-10.1 % 0xa);
write(-10.1 % 04);
write(-10.1 % 'hello');
write(-10.1 % 'hel' + 'lo');
write(-10.1 % String(''));
write(-10.1 % String('hello'));
write(-10.1 % String('h' + 'ello'));
write(-10.1 % new String(''));
write(-10.1 % new String('hello'));
write(-10.1 % new String('he' + 'llo'));
write(-10.1 % new Object());
write(-10.1 % new Object());
write(-10.1 % [1, 2, 3]);
write(-10.1 % [1 ,2 , 3]);
write(-10.1 % new Array(3));
write(-10.1 % Array(3));
write(-10.1 % new Array(1 ,2 ,3));
write(-10.1 % Array(1));
write(-10.1 % foo);
write(Number.MAX_VALUE % undefined);
write(Number.MAX_VALUE % null);
write(Number.MAX_VALUE % true);
write(Number.MAX_VALUE % false);
write(Number.MAX_VALUE % Boolean(true));
write(Number.MAX_VALUE % Boolean(false));
write(Number.MAX_VALUE % new Boolean(true));
write(Number.MAX_VALUE % new Boolean(false));
write(Number.MAX_VALUE % NaN);
write(Number.MAX_VALUE % +0);
write(Number.MAX_VALUE % -0);
write(Number.MAX_VALUE % 0);
write(Number.MAX_VALUE % 0.0);
write(Number.MAX_VALUE % -0.0);
write(Number.MAX_VALUE % +0.0);
write(Number.MAX_VALUE % 1);
write(Number.MAX_VALUE % 10);
write(Number.MAX_VALUE % 10.0);
write(Number.MAX_VALUE % 10.1);
write(Number.MAX_VALUE % -1);
write(Number.MAX_VALUE % -10);
write(Number.MAX_VALUE % -10.0);
write(Number.MAX_VALUE % -10.1);
write(Number.MAX_VALUE % Number.MAX_VALUE);
write(Number.MAX_VALUE % Number.MIN_VALUE);
write(Number.MAX_VALUE % Number.NaN);
write(Number.MAX_VALUE % Number.POSITIVE_INFINITY);
write(Number.MAX_VALUE % Number.NEGATIVE_INFINITY);
write(Number.MAX_VALUE % new Number(NaN));
write(Number.MAX_VALUE % new Number(+0));
write(Number.MAX_VALUE % new Number(-0));
write(Number.MAX_VALUE % new Number(0));
write(Number.MAX_VALUE % new Number(0.0));
write(Number.MAX_VALUE % new Number(-0.0));
write(Number.MAX_VALUE % new Number(+0.0));
write(Number.MAX_VALUE % new Number(1));
write(Number.MAX_VALUE % new Number(10));
write(Number.MAX_VALUE % new Number(10.0));
write(Number.MAX_VALUE % new Number(10.1));
write(Number.MAX_VALUE % new Number(-1));
write(Number.MAX_VALUE % new Number(-10));
write(Number.MAX_VALUE % new Number(-10.0));
write(Number.MAX_VALUE % new Number(-10.1));
write(Number.MAX_VALUE % new Number(Number.MAX_VALUE));
write(Number.MAX_VALUE % new Number(Number.MIN_VALUE));
write(Number.MAX_VALUE % new Number(Number.NaN));
write(Number.MAX_VALUE % new Number(Number.POSITIVE_INFINITY));
write(Number.MAX_VALUE % new Number(Number.NEGATIVE_INFINITY));
write(Number.MAX_VALUE % '');
write(Number.MAX_VALUE % 0xa);
write(Number.MAX_VALUE % 04);
write(Number.MAX_VALUE % 'hello');
write(Number.MAX_VALUE % 'hel' + 'lo');
write(Number.MAX_VALUE % String(''));
write(Number.MAX_VALUE % String('hello'));
write(Number.MAX_VALUE % String('h' + 'ello'));
write(Number.MAX_VALUE % new String(''));
write(Number.MAX_VALUE % new String('hello'));
write(Number.MAX_VALUE % new String('he' + 'llo'));
write(Number.MAX_VALUE % new Object());
write(Number.MAX_VALUE % new Object());
write(Number.MAX_VALUE % [1, 2, 3]);
write(Number.MAX_VALUE % [1 ,2 , 3]);
write(Number.MAX_VALUE % new Array(3));
write(Number.MAX_VALUE % Array(3));
write(Number.MAX_VALUE % new Array(1 ,2 ,3));
write(Number.MAX_VALUE % Array(1));
write(Number.MAX_VALUE % foo);
write(Number.MIN_VALUE % undefined);
write(Number.MIN_VALUE % null);
write(Number.MIN_VALUE % true);
write(Number.MIN_VALUE % false);
write(Number.MIN_VALUE % Boolean(true));
write(Number.MIN_VALUE % Boolean(false));
write(Number.MIN_VALUE % new Boolean(true));
write(Number.MIN_VALUE % new Boolean(false));
write(Number.MIN_VALUE % NaN);
write(Number.MIN_VALUE % +0);
write(Number.MIN_VALUE % -0);
write(Number.MIN_VALUE % 0);
write(Number.MIN_VALUE % 0.0);
write(Number.MIN_VALUE % -0.0);
write(Number.MIN_VALUE % +0.0);
write(Number.MIN_VALUE % 1);
write(Number.MIN_VALUE % 10);
write(Number.MIN_VALUE % 10.0);
write(Number.MIN_VALUE % 10.1);
write(Number.MIN_VALUE % -1);
write(Number.MIN_VALUE % -10);
write(Number.MIN_VALUE % -10.0);
write(Number.MIN_VALUE % -10.1);
write(Number.MIN_VALUE % Number.MAX_VALUE);
write(Number.MIN_VALUE % Number.MIN_VALUE);
write(Number.MIN_VALUE % Number.NaN);
write(Number.MIN_VALUE % Number.POSITIVE_INFINITY);
write(Number.MIN_VALUE % Number.NEGATIVE_INFINITY);
write(Number.MIN_VALUE % new Number(NaN));
write(Number.MIN_VALUE % new Number(+0));
write(Number.MIN_VALUE % new Number(-0));
write(Number.MIN_VALUE % new Number(0));
write(Number.MIN_VALUE % new Number(0.0));
write(Number.MIN_VALUE % new Number(-0.0));
write(Number.MIN_VALUE % new Number(+0.0));
write(Number.MIN_VALUE % new Number(1));
write(Number.MIN_VALUE % new Number(10));
write(Number.MIN_VALUE % new Number(10.0));
write(Number.MIN_VALUE % new Number(10.1));
write(Number.MIN_VALUE % new Number(-1));
write(Number.MIN_VALUE % new Number(-10));
write(Number.MIN_VALUE % new Number(-10.0));
write(Number.MIN_VALUE % new Number(-10.1));
write(Number.MIN_VALUE % new Number(Number.MAX_VALUE));
write(Number.MIN_VALUE % new Number(Number.MIN_VALUE));
write(Number.MIN_VALUE % new Number(Number.NaN));
write(Number.MIN_VALUE % new Number(Number.POSITIVE_INFINITY));
write(Number.MIN_VALUE % new Number(Number.NEGATIVE_INFINITY));
write(Number.MIN_VALUE % '');
write(Number.MIN_VALUE % 0xa);
write(Number.MIN_VALUE % 04);
write(Number.MIN_VALUE % 'hello');
write(Number.MIN_VALUE % 'hel' + 'lo');
write(Number.MIN_VALUE % String(''));
write(Number.MIN_VALUE % String('hello'));
write(Number.MIN_VALUE % String('h' + 'ello'));
write(Number.MIN_VALUE % new String(''));
write(Number.MIN_VALUE % new String('hello'));
write(Number.MIN_VALUE % new String('he' + 'llo'));
write(Number.MIN_VALUE % new Object());
write(Number.MIN_VALUE % new Object());
write(Number.MIN_VALUE % [1, 2, 3]);
write(Number.MIN_VALUE % [1 ,2 , 3]);
write(Number.MIN_VALUE % new Array(3));
write(Number.MIN_VALUE % Array(3));
write(Number.MIN_VALUE % new Array(1 ,2 ,3));
write(Number.MIN_VALUE % Array(1));
write(Number.MIN_VALUE % foo);
write(Number.NaN % undefined);
write(Number.NaN % null);
write(Number.NaN % true);
write(Number.NaN % false);
write(Number.NaN % Boolean(true));
write(Number.NaN % Boolean(false));
write(Number.NaN % new Boolean(true));
write(Number.NaN % new Boolean(false));
write(Number.NaN % NaN);
write(Number.NaN % +0);
write(Number.NaN % -0);
write(Number.NaN % 0);
write(Number.NaN % 0.0);
write(Number.NaN % -0.0);
write(Number.NaN % +0.0);
write(Number.NaN % 1);
write(Number.NaN % 10);
write(Number.NaN % 10.0);
write(Number.NaN % 10.1);
write(Number.NaN % -1);
write(Number.NaN % -10);
write(Number.NaN % -10.0);
write(Number.NaN % -10.1);
write(Number.NaN % Number.MAX_VALUE);
write(Number.NaN % Number.MIN_VALUE);
write(Number.NaN % Number.NaN);
write(Number.NaN % Number.POSITIVE_INFINITY);
write(Number.NaN % Number.NEGATIVE_INFINITY);
write(Number.NaN % new Number(NaN));
write(Number.NaN % new Number(+0));
write(Number.NaN % new Number(-0));
write(Number.NaN % new Number(0));
write(Number.NaN % new Number(0.0));
write(Number.NaN % new Number(-0.0));
write(Number.NaN % new Number(+0.0));
write(Number.NaN % new Number(1));
write(Number.NaN % new Number(10));
write(Number.NaN % new Number(10.0));
write(Number.NaN % new Number(10.1));
write(Number.NaN % new Number(-1));
write(Number.NaN % new Number(-10));
write(Number.NaN % new Number(-10.0));
write(Number.NaN % new Number(-10.1));
write(Number.NaN % new Number(Number.MAX_VALUE));
write(Number.NaN % new Number(Number.MIN_VALUE));
write(Number.NaN % new Number(Number.NaN));
write(Number.NaN % new Number(Number.POSITIVE_INFINITY));
write(Number.NaN % new Number(Number.NEGATIVE_INFINITY));
write(Number.NaN % '');
write(Number.NaN % 0xa);
write(Number.NaN % 04);
write(Number.NaN % 'hello');
write(Number.NaN % 'hel' + 'lo');
write(Number.NaN % String(''));
write(Number.NaN % String('hello'));
write(Number.NaN % String('h' + 'ello'));
write(Number.NaN % new String(''));
write(Number.NaN % new String('hello'));
write(Number.NaN % new String('he' + 'llo'));
write(Number.NaN % new Object());
write(Number.NaN % new Object());
write(Number.NaN % [1, 2, 3]);
write(Number.NaN % [1 ,2 , 3]);
write(Number.NaN % new Array(3));
write(Number.NaN % Array(3));
write(Number.NaN % new Array(1 ,2 ,3));
write(Number.NaN % Array(1));
write(Number.NaN % foo);
write(Number.POSITIVE_INFINITY % undefined);
write(Number.POSITIVE_INFINITY % null);
write(Number.POSITIVE_INFINITY % true);
write(Number.POSITIVE_INFINITY % false);
write(Number.POSITIVE_INFINITY % Boolean(true));
write(Number.POSITIVE_INFINITY % Boolean(false));
write(Number.POSITIVE_INFINITY % new Boolean(true));
write(Number.POSITIVE_INFINITY % new Boolean(false));
write(Number.POSITIVE_INFINITY % NaN);
write(Number.POSITIVE_INFINITY % +0);
write(Number.POSITIVE_INFINITY % -0);
write(Number.POSITIVE_INFINITY % 0);
write(Number.POSITIVE_INFINITY % 0.0);
write(Number.POSITIVE_INFINITY % -0.0);
write(Number.POSITIVE_INFINITY % +0.0);
write(Number.POSITIVE_INFINITY % 1);
write(Number.POSITIVE_INFINITY % 10);
write(Number.POSITIVE_INFINITY % 10.0);
write(Number.POSITIVE_INFINITY % 10.1);
write(Number.POSITIVE_INFINITY % -1);
write(Number.POSITIVE_INFINITY % -10);
write(Number.POSITIVE_INFINITY % -10.0);
write(Number.POSITIVE_INFINITY % -10.1);
write(Number.POSITIVE_INFINITY % Number.MAX_VALUE);
write(Number.POSITIVE_INFINITY % Number.MIN_VALUE);
write(Number.POSITIVE_INFINITY % Number.NaN);
write(Number.POSITIVE_INFINITY % Number.POSITIVE_INFINITY);
write(Number.POSITIVE_INFINITY % Number.NEGATIVE_INFINITY);
write(Number.POSITIVE_INFINITY % new Number(NaN));
write(Number.POSITIVE_INFINITY % new Number(+0));
write(Number.POSITIVE_INFINITY % new Number(-0));
write(Number.POSITIVE_INFINITY % new Number(0));
write(Number.POSITIVE_INFINITY % new Number(0.0));
write(Number.POSITIVE_INFINITY % new Number(-0.0));
write(Number.POSITIVE_INFINITY % new Number(+0.0));
write(Number.POSITIVE_INFINITY % new Number(1));
write(Number.POSITIVE_INFINITY % new Number(10));
write(Number.POSITIVE_INFINITY % new Number(10.0));
write(Number.POSITIVE_INFINITY % new Number(10.1));
write(Number.POSITIVE_INFINITY % new Number(-1));
write(Number.POSITIVE_INFINITY % new Number(-10));
write(Number.POSITIVE_INFINITY % new Number(-10.0));
write(Number.POSITIVE_INFINITY % new Number(-10.1));
write(Number.POSITIVE_INFINITY % new Number(Number.MAX_VALUE));
write(Number.POSITIVE_INFINITY % new Number(Number.MIN_VALUE));
write(Number.POSITIVE_INFINITY % new Number(Number.NaN));
write(Number.POSITIVE_INFINITY % new Number(Number.POSITIVE_INFINITY));
write(Number.POSITIVE_INFINITY % new Number(Number.NEGATIVE_INFINITY));
write(Number.POSITIVE_INFINITY % '');
write(Number.POSITIVE_INFINITY % 0xa);
write(Number.POSITIVE_INFINITY % 04);
write(Number.POSITIVE_INFINITY % 'hello');
write(Number.POSITIVE_INFINITY % 'hel' + 'lo');
write(Number.POSITIVE_INFINITY % String(''));
write(Number.POSITIVE_INFINITY % String('hello'));
write(Number.POSITIVE_INFINITY % String('h' + 'ello'));
write(Number.POSITIVE_INFINITY % new String(''));
write(Number.POSITIVE_INFINITY % new String('hello'));
write(Number.POSITIVE_INFINITY % new String('he' + 'llo'));
write(Number.POSITIVE_INFINITY % new Object());
write(Number.POSITIVE_INFINITY % new Object());
write(Number.POSITIVE_INFINITY % [1, 2, 3]);
write(Number.POSITIVE_INFINITY % [1 ,2 , 3]);
write(Number.POSITIVE_INFINITY % new Array(3));
write(Number.POSITIVE_INFINITY % Array(3));
write(Number.POSITIVE_INFINITY % new Array(1 ,2 ,3));
write(Number.POSITIVE_INFINITY % Array(1));
write(Number.POSITIVE_INFINITY % foo);
write(Number.NEGATIVE_INFINITY % undefined);
write(Number.NEGATIVE_INFINITY % null);
write(Number.NEGATIVE_INFINITY % true);
write(Number.NEGATIVE_INFINITY % false);
write(Number.NEGATIVE_INFINITY % Boolean(true));
write(Number.NEGATIVE_INFINITY % Boolean(false));
write(Number.NEGATIVE_INFINITY % new Boolean(true));
write(Number.NEGATIVE_INFINITY % new Boolean(false));
write(Number.NEGATIVE_INFINITY % NaN);
write(Number.NEGATIVE_INFINITY % +0);
write(Number.NEGATIVE_INFINITY % -0);
write(Number.NEGATIVE_INFINITY % 0);
write(Number.NEGATIVE_INFINITY % 0.0);
write(Number.NEGATIVE_INFINITY % -0.0);
write(Number.NEGATIVE_INFINITY % +0.0);
write(Number.NEGATIVE_INFINITY % 1);
write(Number.NEGATIVE_INFINITY % 10);
write(Number.NEGATIVE_INFINITY % 10.0);
write(Number.NEGATIVE_INFINITY % 10.1);
write(Number.NEGATIVE_INFINITY % -1);
write(Number.NEGATIVE_INFINITY % -10);
write(Number.NEGATIVE_INFINITY % -10.0);
write(Number.NEGATIVE_INFINITY % -10.1);
write(Number.NEGATIVE_INFINITY % Number.MAX_VALUE);
write(Number.NEGATIVE_INFINITY % Number.MIN_VALUE);
write(Number.NEGATIVE_INFINITY % Number.NaN);
write(Number.NEGATIVE_INFINITY % Number.POSITIVE_INFINITY);
write(Number.NEGATIVE_INFINITY % Number.NEGATIVE_INFINITY);
write(Number.NEGATIVE_INFINITY % new Number(NaN));
write(Number.NEGATIVE_INFINITY % new Number(+0));
write(Number.NEGATIVE_INFINITY % new Number(-0));
write(Number.NEGATIVE_INFINITY % new Number(0));
write(Number.NEGATIVE_INFINITY % new Number(0.0));
write(Number.NEGATIVE_INFINITY % new Number(-0.0));
write(Number.NEGATIVE_INFINITY % new Number(+0.0));
write(Number.NEGATIVE_INFINITY % new Number(1));
write(Number.NEGATIVE_INFINITY % new Number(10));
write(Number.NEGATIVE_INFINITY % new Number(10.0));
write(Number.NEGATIVE_INFINITY % new Number(10.1));
write(Number.NEGATIVE_INFINITY % new Number(-1));
write(Number.NEGATIVE_INFINITY % new Number(-10));
write(Number.NEGATIVE_INFINITY % new Number(-10.0));
write(Number.NEGATIVE_INFINITY % new Number(-10.1));
write(Number.NEGATIVE_INFINITY % new Number(Number.MAX_VALUE));
write(Number.NEGATIVE_INFINITY % new Number(Number.MIN_VALUE));
write(Number.NEGATIVE_INFINITY % new Number(Number.NaN));
write(Number.NEGATIVE_INFINITY % new Number(Number.POSITIVE_INFINITY));
write(Number.NEGATIVE_INFINITY % new Number(Number.NEGATIVE_INFINITY));
write(Number.NEGATIVE_INFINITY % '');
write(Number.NEGATIVE_INFINITY % 0xa);
write(Number.NEGATIVE_INFINITY % 04);
write(Number.NEGATIVE_INFINITY % 'hello');
write(Number.NEGATIVE_INFINITY % 'hel' + 'lo');
write(Number.NEGATIVE_INFINITY % String(''));
write(Number.NEGATIVE_INFINITY % String('hello'));
write(Number.NEGATIVE_INFINITY % String('h' + 'ello'));
write(Number.NEGATIVE_INFINITY % new String(''));
write(Number.NEGATIVE_INFINITY % new String('hello'));
write(Number.NEGATIVE_INFINITY % new String('he' + 'llo'));
write(Number.NEGATIVE_INFINITY % new Object());
write(Number.NEGATIVE_INFINITY % new Object());
write(Number.NEGATIVE_INFINITY % [1, 2, 3]);
write(Number.NEGATIVE_INFINITY % [1 ,2 , 3]);
write(Number.NEGATIVE_INFINITY % new Array(3));
write(Number.NEGATIVE_INFINITY % Array(3));
write(Number.NEGATIVE_INFINITY % new Array(1 ,2 ,3));
write(Number.NEGATIVE_INFINITY % Array(1));
write(Number.NEGATIVE_INFINITY % foo);
write(new Number(NaN) % undefined);
write(new Number(NaN) % null);
write(new Number(NaN) % true);
write(new Number(NaN) % false);
write(new Number(NaN) % Boolean(true));
write(new Number(NaN) % Boolean(false));
write(new Number(NaN) % new Boolean(true));
write(new Number(NaN) % new Boolean(false));
write(new Number(NaN) % NaN);
write(new Number(NaN) % +0);
write(new Number(NaN) % -0);
write(new Number(NaN) % 0);
write(new Number(NaN) % 0.0);
write(new Number(NaN) % -0.0);
write(new Number(NaN) % +0.0);
write(new Number(NaN) % 1);
write(new Number(NaN) % 10);
write(new Number(NaN) % 10.0);
write(new Number(NaN) % 10.1);
write(new Number(NaN) % -1);
write(new Number(NaN) % -10);
write(new Number(NaN) % -10.0);
write(new Number(NaN) % -10.1);
write(new Number(NaN) % Number.MAX_VALUE);
write(new Number(NaN) % Number.MIN_VALUE);
write(new Number(NaN) % Number.NaN);
write(new Number(NaN) % Number.POSITIVE_INFINITY);
write(new Number(NaN) % Number.NEGATIVE_INFINITY);
write(new Number(NaN) % new Number(NaN));
write(new Number(NaN) % new Number(+0));
write(new Number(NaN) % new Number(-0));
write(new Number(NaN) % new Number(0));
write(new Number(NaN) % new Number(0.0));
write(new Number(NaN) % new Number(-0.0));
write(new Number(NaN) % new Number(+0.0));
write(new Number(NaN) % new Number(1));
write(new Number(NaN) % new Number(10));
write(new Number(NaN) % new Number(10.0));
write(new Number(NaN) % new Number(10.1));
write(new Number(NaN) % new Number(-1));
write(new Number(NaN) % new Number(-10));
write(new Number(NaN) % new Number(-10.0));
write(new Number(NaN) % new Number(-10.1));
write(new Number(NaN) % new Number(Number.MAX_VALUE));
write(new Number(NaN) % new Number(Number.MIN_VALUE));
write(new Number(NaN) % new Number(Number.NaN));
write(new Number(NaN) % new Number(Number.POSITIVE_INFINITY));
write(new Number(NaN) % new Number(Number.NEGATIVE_INFINITY));
write(new Number(NaN) % '');
write(new Number(NaN) % 0xa);
write(new Number(NaN) % 04);
write(new Number(NaN) % 'hello');
write(new Number(NaN) % 'hel' + 'lo');
write(new Number(NaN) % String(''));
write(new Number(NaN) % String('hello'));
write(new Number(NaN) % String('h' + 'ello'));
write(new Number(NaN) % new String(''));
write(new Number(NaN) % new String('hello'));
write(new Number(NaN) % new String('he' + 'llo'));
write(new Number(NaN) % new Object());
write(new Number(NaN) % new Object());
write(new Number(NaN) % [1, 2, 3]);
write(new Number(NaN) % [1 ,2 , 3]);
write(new Number(NaN) % new Array(3));
write(new Number(NaN) % Array(3));
write(new Number(NaN) % new Array(1 ,2 ,3));
write(new Number(NaN) % Array(1));
write(new Number(NaN) % foo);
write(new Number(+0) % undefined);
write(new Number(+0) % null);
write(new Number(+0) % true);
write(new Number(+0) % false);
write(new Number(+0) % Boolean(true));
write(new Number(+0) % Boolean(false));
write(new Number(+0) % new Boolean(true));
write(new Number(+0) % new Boolean(false));
write(new Number(+0) % NaN);
write(new Number(+0) % +0);
write(new Number(+0) % -0);
write(new Number(+0) % 0);
write(new Number(+0) % 0.0);
write(new Number(+0) % -0.0);
write(new Number(+0) % +0.0);
write(new Number(+0) % 1);
write(new Number(+0) % 10);
write(new Number(+0) % 10.0);
write(new Number(+0) % 10.1);
write(new Number(+0) % -1);
write(new Number(+0) % -10);
write(new Number(+0) % -10.0);
write(new Number(+0) % -10.1);
write(new Number(+0) % Number.MAX_VALUE);
write(new Number(+0) % Number.MIN_VALUE);
write(new Number(+0) % Number.NaN);
write(new Number(+0) % Number.POSITIVE_INFINITY);
write(new Number(+0) % Number.NEGATIVE_INFINITY);
write(new Number(+0) % new Number(NaN));
